This page last changed on Dec 14, 2004 by casey.

<ww:select />

生成一个SELECT选项列表. quot;listKey"属性是列表中每个元素的用于生成<option>标签中value的属性. "listValue"属性填充option的文本标签(显示名称). 一大特性是根据"value"属性自动选中适当的选项. 如果value于当前listKey相等, 该选项设为selected(如果类型符合的话; 见下文).
<ww:select label="'Users'" 
	name="'userId'" 
	listKey="id" 
	listValue="name" 
	list="app.users" 
	value="app.user.id" 
	onchange="'chooseUser(this)'"
/>

将生成下列结果(假设getApp().getUser().getId() == 2):

<tr>
	<td>Users</td>
	<td>
		<select name="userId" onchange="chooseUser(this)">
			<option value="1">
				User Number One
			</option>
			<option value="2" selected="selected">
				User Number Two
			</option>
		</select>
	<td>
</tr>

当然, <td>等格式依赖于你使用的模版.

用法示例

<ww:select label="'Pets'" 
        name="'petIds'" 
        list="petDao.pets" 
        listKey="id" 
        listValue="name" 
        multiple="true" 
        size="3" 
        required="true" 
/>

<ww:select label="'Months'" 
        name="'months'" 
        list="#{'01':'Jan', '02':'Feb', [...]}" 
        value="selectedMonth"
        required="true" 
/>

// The month id (01, 02, ...) returned by the getSelectedMonth() call 
// against the stack will be auto-selected

注意: 对于任何使用列表数据的标签(select可能是最常见的), 它使用OGNL的列表表示法(参见上面的例子"months"), 注意的是, 这里键值(在months例子中是'01', '02'等等)是手工输入的. '1'是字符, '01'是字符串, "1"是字符串. 如果"value"属性返回的值和"列表"中的键值类型不同时, 即使字符串值相同, 也无法匹配. 如果无法匹配, 列表中将没有自动选中的选项.

属性
名字 必需 描述
id 否 HTML的id属性
name 是 HTML的name属性
value 否 字段值
list 否 列表使用的可迭代数据源, 如果烈表是Map (key, value), key将作为option的value, value作为它的内容(body)
listKey 否 列表对象的键值属性
listValue 否 列表对象的内容属性
headerKey 否 第一个选项的建值
headerValue 否 第一个选项的值
emptyOption 否 是否在选项头(header option)后加入空白(--)选项
multiple 否 是否允许多选?
size 否 HTML的size属性
disabled 否 HTML的disabled属性
tabindex 否 HTML的tabindex属性
onchange 否 HTML的onchange属性
onclick 否 HTML的onclick属性
label 否 用于模版中的标签文字
labelposition 否 标签的对齐方式 (left,right,center)
required 否 在表单提交时是否是必需字段
cssClass 否 HTML的class属性
cssStyle 否 HTML的style属性
theme 否 使用的主题
template 否 使用的模版名

Document generated by Confluence on Dec 14, 2004 16:36